<?php

    if (! defined('SIMPLE_TEST')) {
        define('SIMPLE_TEST', '../simpletest/');
    }
    require_once(SIMPLE_TEST . 'autorun.php');
    include '../Include/Include.php';

class DBAccesorioDAOTest extends UnitTestCase {

    function DBAccesorioDAOTest() {
        $this->UnitTestCase();
    }

    public function testgetPrecio() {
        $DBAccesorioDAOTest = new DBAccesorioDAO();
        $DBConn = null;
        $conexion = new conexion();
        $DBConn = $conexion->setConnect();
        $DBConn->consulta( "INSERT INTO costo_accesorio
                            VALUES (-1,'Prueba Accesorio',
                            1000,1)" );

        $Precio = $DBAccesorioDAOTest->getPrecio(-1);
        $this->assertEqual($Precio, 1000);
        $DBConn->consulta("DELETE FROM costo_accesorio
                          WHERE CAC_ID = -1" );

    }

    public function testgetNombre() {
        $DBAccesorioDAOTest = new DBAccesorioDAO();
        $DBConn = null;
        $conexion = new conexion();
        $DBConn = $conexion->setConnect();
        $DBConn->consulta( "INSERT INTO costo_accesorio
                            VALUES (-1, 'Cerradura Electrica de prueba',
                            '100','1')" );

        $Nombre = $DBAccesorioDAOTest->getNombre( -1 );
        $this->assertEqual( $Nombre,"Cerradura Electrica de prueba" );
        $DBConn->consulta( "DELETE FROM costo_accesorio
                          WHERE CAC_ID = -1" );
    }

    public function testsetAccesorio() {
        $DBAccesorioDAOTest = new DBAccesorioDAO();
        $miAccesorio = new Accesorio( "Accesorio prueba", 100 , 10 );
        $DBConn = null;
        $conexion = new conexion();
        $DBConn = $conexion->setConnect();
        $DBConn->consulta( "INSERT INTO presupuesto
                           VALUES (-1, 'PRESUPUESTO',
                           '2010-06-04', NULL, NULL,
                           NULL, 1, 1)" );


        $DBAccesorioDAOTest->setAccesorio( $miAccesorio, -1 );
        $DBConn->consulta( "SELECT * FROM Accesorio
                            WHERE ACC_NOMBRE = 'Accesorio prueba'
                            AND ACC_PRECIO = 100
                            AND ACC_CANTIDAD = 10
                            AND ACC_STATUS = 1
                            ORDER BY ACC_ID DESC " );

        $fila = $DBConn->extraer_registro();
        $id = $fila['ACC_ID'];
        $this->assertEqual( $fila['ACC_NOMBRE'], "Accesorio prueba" );
        $this->assertEqual( $fila['ACC_PRECIO'], 100 );
        $this->assertEqual( $fila['ACC_CANTIDAD'], 10 );

        $DBConn->consulta( "SELECT *
                            FROM detalle_presupuesto
                            WHERE DPR_PTO_ID = -1" );

        $fila = $DBConn->extraer_registro();
        $this->assertEqual( $fila['DPR_PTO_ID'], -1 );
        $this->assertEqual( $fila['DPR_ACC_ID'], $id );
        $DBConn->consulta( "DELETE FROM detalle_presupuesto
                            WHERE DPR_ACC_ID = $id
                            AND DPR_PTO_ID = -1" );

        $DBConn->consulta( "DELETE FROM presupuesto
                            WHERE PTO_ID = -1" );

        $DBConn->consulta( "DELETE FROM accesorio
                            WHERE ACC_ID = $id" );

    }

}
?>

